using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Text; using System.Windows.Controls; namespace PdmSwPlugin.UI { /// /// SB.xaml 的交互逻辑 /// public partial class SB : UserControl, INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void RaisePropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public SB() { InitializeComponent(); } private string _selectedText = string.Empty; public string SelectedText { get { return _selectedText; } set { if (_selectedText != value) { _selectedText = value; RaisePropertyChanged("SelectedText"); } } } private ObservableCollection _dataSource; public ObservableCollection DataSource { get { if (_dataSource == null) { _dataSource = new ObservableCollection(); _dataSource.CollectionChanged += (sender, e) => { if (e.OldItems != null) { foreach (INotifyPropertyChanged bookEx in e.OldItems) { bookEx.PropertyChanged -= ItemPropertyChanged; } } if (e.NewItems != null) { foreach (INotifyPropertyChanged bookEx in e.NewItems) { bookEx.PropertyChanged += ItemPropertyChanged; } } }; } return _dataSource; } } private void ItemPropertyChanged(object sender, PropertyChangedEventArgs e) { /*if (e.PropertyName == "IsChecked") { BookEx bookEx = sender as BookEx; if (bookEx != null) { IEnumerable bookExs = BookExs.Where(b => b.IsChecked == true); StringBuilder builder = new StringBuilder(); foreach (BookEx item in bookExs) { builder.Append(item.Book.Name + " "); } SelectedText = builder == null ? string.Empty : builder.ToString(); } }*/ } } }